home *** CD-ROM | disk | FTP | other *** search
/ Aminet 43 / Aminet 43 (2001)(GTI - Schatztruhe)[!][Jun 2001].iso / Aminet / game / role / eyangband.lha / EyAngband031b / help / version.txt < prev    next >
Text File  |  2001-04-16  |  21KB  |  471 lines

  1. === Version Information ===
  2.  
  3. This file was last updated for EyAngband 0.2.0.
  4.  
  5. Make sure to read the newsgroup ("rec.games.roguelike.angband"), and to visit
  6. the EyAngband home page (httP://members.nbci.com/eytanz/eyangband) and the
  7. Official Angband Home Page ("http://thangorodrim.angband.org") for the
  8. most up to date information about EyAngband and Angband in general.
  9.  
  10. EyAngband 0.2.0 has an incredibly complex history, and is the result of a
  11. lot of work by a lot of people, all of whom have contributed their time
  12. and energy for free, being rewarded only by the pleasure of keeping alive
  13. one of the best freeware games available anywhere.
  14.  
  15. The version control files, if they existed, would span more than ten years
  16. time, and more than six different primary developers.  Without such files,
  17. we must rely on simpler methods, such as change logs, source file diffs, and
  18. word of mouth.  Some of this information is summarized in this file.
  19.  
  20. Please be sure to read the copyright information at the end of this file.
  21.  
  22. === Brief Version History ===
  23.  
  24. First came "VMS Moria", by Robert Alan Koeneke (1985).
  25.  
  26. Then came "Umoria" (Unix Moria), by James E. Wilson (1989).
  27.  
  28. Details about the history of the various flavors of "moria", the direct
  29. ancestor to Angband, can be found elsewhere, and a note from Robert Alan
  30. Koeneke is included in this file.  Note that "moria" has been ported to
  31. a variety of platforms, and has its own newsgroup, and its own fans.
  32.  
  33. In 1990, Alex Cutler and Andy Astrand, with the help of other students
  34. at the University of Warwick, created Angband 1.0, based on the existing
  35. code for Umoria 5.2.1.  They wanted to expand the game, keeping or even
  36. strengthening the grounding in Tolkien lore, while adding more monsters
  37. and items, including unique monsters and artifact items, plus activation,
  38. pseudo-sensing, level feelings, and special dungeon rooms.
  39.  
  40. Over time, Sean Marsh, Geoff Hill, Charles Teague, and others, worked on
  41. the source, releasing a copy known as "Angband 2.4.frog_knows" at some
  42. point, which ran only on Unix systems, but which was ported by various
  43. people to various other systems.  One of the most significant ports was
  44. the "PC Angband 1.4" port, for old DOS machines, which added color and
  45. various other significant changes, only some of which ever made it back
  46. into the official source.
  47.  
  48. Then Charles Swiger (cs4w+@andrew.cmu.edu) took over, sometime in late
  49. 1993, cleaning up the code, fixing a lot of bugs, and bringing together
  50. various patches from various people, resulting in several versions of
  51. Angband, starting with Angband 2.5.1 (?), and leading up to the release
  52. of Angband 2.6.1 (and Angband 2.6.2) in late 1994.  Some of the changes
  53. during this period were based on suggestions from the "net", and from
  54. various related games, including "UMoria 5.5", "PC Angband 1.4", and
  55. "FAngband".
  56.  
  57. Angband 2.6.1 was primarily targetted towards Unix/NeXT machines, and
  58. it required the use of the low level "curses" commands for all screen
  59. manipulation and keypress interaction.  Each release had to be ported
  60. from scratch to any new platforms, normally by creating visual display
  61. code that acted as a "curses" emulator.  One such port was "Macintosh
  62. Angband 2.6.1", by Keith Randall, which added support for color, and
  63. which formed the basis for the first release of Angband 2.7.0.
  64.  
  65. During the last half of 1994, I (Ben Harrison) had been playing with
  66. the Angband source, primarily to investigate the possibility of making
  67. some kind of automatic player for Angband, like the old "rogue-o-matic"
  68. program for the game "rogue".  The difficulty of compiling a version
  69. for the Macintosh, and the complexity of the code, prevented this, and
  70. so I began cleaning up the code in various ways for my own personal use.
  71.  
  72. In late 1994, Charles Swiger announced that he was starting a real job
  73. and would no longer be able to be the Angband maintainer.  This induced
  74. some amount of uproar in the Angband community (as represented by the
  75. Angband newsgroup), with various people attempting to form "committees"
  76. to take over the maintenance of Angband.  Since committees have never
  77. given us anything but trouble (think "COBOL"), there was very little
  78. resistance when, on the first day of 1995, I made my code available,
  79. calling it "Angband 2.7.0", and by default, taking over as the new
  80. maintainer of Angband.  Or, at least, that is how I remember it...
  81.  
  82. Angband 2.7.0 was a very clean (but very buggy) rewrite that, among other
  83. things, allowed extremely simple porting to multiple platforms, starting
  84. with Unix and Macintosh, and by the time most of the bugs were cleaned up,
  85. in Angband 2.7.2, including X11, and various IBM machines.  Angband 2.7.4
  86. was released to the "ftp.cis.ksu.edu" site, and quickly gained acceptance,
  87. perhaps helped by the OS2 and Windows and Amiga and Linux ports.  Angband
  88. 2.7.5 and 2.7.6 added important capabilities such as macros and user pref
  89. files, and continued to clean up the source.  Angband 2.7.8 was released
  90. to the major ftp archives as the first "stable" version in a year or so,
  91. with new "help files" and "spoiler files" for the "online help", plus a
  92. variety of minor tweaks and some new features.
  93.  
  94. After Angband 2.7.8 was released, I created a web site to keep track of
  95. all the changes made in each version (though a few may have been missed),
  96. and acquired the use of a new develoepement ftp server to supplement the
  97. official "mirror" server.  This web site is now permanently located at
  98. the Official Angband Home Page (http://thangorodrim.angband.org/).
  99. Unfortunately, the next six versions were numbered Angband 2.7.9v1 to
  100. Angband 2.7.9v6, but really each were rather major updates.  Angband 2.8.0
  101. and 2.8.1 were released using a more normal version scheme.  Angband 2.8.2
  102. and 2.8.3 add a few random features, clean up some code, and provide
  103. graphics support and such for a few more platforms.
  104.  
  105. After the release of Angband 2.8.3 Ben's free time was more and more
  106. occupied by his work.  He released a beta version of Angband 2.8.5,
  107. introducing many new features, but couldn't give as much attention to
  108. maintaining the game as he wanted to.
  109.  
  110. So in March 2000, Robert Ruehlmann offered to take over Angband and
  111. started to fix the remaining bugs in the Angband 2.8.5 beta.  The
  112. resulting version has now been released as Angband 2.9.0, which was
  113. soon followed by Angband 2.9.1. 
  114.  
  115. At that time, I (Eytan Zweig), having just finished teaching myself some
  116. basic C skills, decided that the best way to improve them while doing
  117. something productive is to develop my own varient. Early changes have
  118. consisted mainly of interface fixes, but with later versions came 
  119. several gameplay changes and more are planned for the future.
  120.  
  121. === Some of the changes between Angband 2.6.1 and Angband 2.7.8 ===
  122.  
  123. It is very hard to pin down, along the way from 2.6.2 to 2.7.8, exactly
  124. what changes were made, and exactly when they were made.  Most releases
  125. involved so many changes from the previous release as to make "diff files"
  126. not very useful, since often the diff files are as long as the code itself.
  127. Most of the changes, with the notable exception of the creation of some of
  128. the new "main-xxx.c" files for the various new platforms, and a few other
  129. minor exceptions generally noted directly in comments in the source, were
  130. written by myself, either spontaneously, or, more commonly, as the result
  131. of a suggestion or comment by an Angband player.
  132.  
  133. The most important modification was a massive "code level cleanup" that made
  134. all of my other modifications much simpler and safer.  This cleanup was so
  135. massive that in many places the code is no longer recognizable, for example,
  136. via "diff -r", often because it was rewritten from scratch.
  137.  
  138. The second most important modification was the design of a generic "z-term.c"
  139. package, which allows Angband to be ported to a new machine with as few as 50
  140. lines of code.  Angband 2.7.8 thus runs without modification on many machines,
  141. including Macintosh, PowerMac, Unix/X11, Unix/Curses, Amiga, Windows, OS2-386,
  142. DOS-386, and even DOS-286.
  143.  
  144. It would be difficult to list all of the changes between Angband 2.6.1 and
  145. Angband 2.7.8, because many of them were made in passing during the massive
  146. code level cleanup.  Many of the changes are invisible to the user, but still
  147. provide increased simplicity and efficiency, and decreased code size, or make
  148. other more visable changes possible.  For example, the new "project()" code
  149. that handles all bolts, beams, and balls, the new "update_view()" code that
  150. simplifies line of sight computation, or the new "generate()" code that builds
  151. new levels in the dungeon.  Many changes have been made to increase efficiency,
  152. including the new "process_monsters()" and "update_monsters()" functions, and
  153. the new "objdes()" and "lite_spot()" routines.  The generic "z-term.c" package
  154. yielded efficient screen updates, and enabled the efficient use of "color".
  155.  
  156. But anyway, here are a few things that come to mind, in no particular order,
  157. and with very little time or effort.  Somehow I managed to put off updating
  158. this file to the very end, and it will just have to do for now.  The recent
  159. changes (and bug fixes) can be found at the Official Angband Home Page.
  160.  
  161.     color
  162.     macros
  163.     keymaps
  164.     user pref files
  165.     generic feature array, with template file
  166.     generic object array, with template file
  167.     generic artifact array, with template file
  168.     generic ego-item array, with template file
  169.     generic monster array, with template fils
  170.     generic vault array, with template file
  171.     binary image files for the template files
  172.     special stat effect tables
  173.     a special table of spells
  174.     a special table of options
  175.     inventory tagging
  176.     inventory restrictions
  177.     using objects off the floor
  178.     various new runtime options
  179.     the new "destroy" command
  180.     the new "examine" command
  181.     the new "note" command
  182.     the new "dump screen" command
  183.     the new "load screen" command
  184.     the new "un-inscribe" command
  185.     the new "change visuals" command
  186.     the new "change colors" command
  187.     the new "change macros" command
  188.     the new "save game" command
  189.     the new "fire" vs "throw" commands
  190.     rearranged equipment slots
  191.     a standard bow slot
  192.     an extra inventory slot
  193.     an underlying keyset
  194.     refueling torches
  195.     better monster memory
  196.     nicer targetting mode
  197.     object stacking
  198.     the recall window
  199.     the choice window
  200.     the mirror window
  201.     new high score code
  202.     special lighting effects
  203.     intelligent monsters
  204.     new monster flags
  205.     text formatting code
  206.     much cleaner store code
  207.     generic spell projections
  208.     scrolls of *identify*
  209.     maximize mode
  210.     preserve mode
  211.     new inscription code
  212.     new message recall code
  213.     new spell and prayer code
  214.     massive cleanup of effects code
  215.     new object allocation routines
  216.     powerful (but simple) on line help
  217.     robust savefile cheat preventers
  218.     new official cheating options
  219.     new blindness code
  220.     new hallucination code
  221.     optimized object description code
  222.     new keypress input routines
  223.     actual object discounts
  224.     fractional (assymptotic) speed
  225.     postponing updates/redraws
  226.     run-time price determination
  227.     better wizard commands
  228.     the automatic player
  229.     launchers of extra shots
  230.     elemental ignore flags
  231.     new ego-item types
  232.     new player ghost creation
  233.     no more sliding objects
  234.     no more sliding monsters
  235.     new object flags
  236.     new chest trap code
  237.     regularized the artifact code
  238.     regularized the ego-item code
  239.     new monster abilities
  240.     new monster spell attacks
  241.     some new store owners
  242.     run-time skill computation
  243.     player kills vs anscestor kills
  244.     better room illumination code
  245.     better group monster code
  246.     table access through pointers
  247.     more redefinable constants
  248.     slightly new screen layout
  249.     extreme code cleaning
  250.     extreme optimizations
  251.  
  252.  
  253. === A Posting from the Original Author ===
  254.  
  255. From: koeneke@ionet.net (Robert Alan Koeneke)
  256. Newsgroups: rec.games.roguelike.angband,rec.games.roguelike.moria
  257. Subject: Early history of Moria
  258. Date: Wed, 21 Feb 1996 04:20:51 GMT
  259.  
  260. I had some email show up asking about the origin of Moria, and its
  261. relation to Rogue.  So I thought I would just post some text on the
  262. early days of Moria.
  263.  
  264. First of all, yes, I really am the Robert Koeneke who wrote the first
  265. Moria.  I had a lot of mail accussing me of pulling their leg and
  266. such.  I just recently connected to Internet (yes, I work for a
  267. company in the dark ages where Internet is concerned) and 
  268. was real surprised to find Moria in the news groups...  Angband was an
  269. even bigger surprise, since I have never seen it.  I probably spoke to
  270. its originator though...  I have given permission to lots of people
  271. through the years to enhance, modify, or whatever as long as they
  272. freely distributed the results.  I have always been a proponent of
  273. sharing games, not selling them.
  274.  
  275. Anyway...
  276.  
  277. Around 1980 or 81 I was enrolled in engineering courses at the
  278. University of Oklahoma.  The engineering lab ran on a PDP 1170 under
  279. an early version of UNIX.  I was always good at computers, so it was
  280. natural for me to get to know the system administrators.  They invited
  281. me one night to stay and play some games, an early startrek game, The
  282. Colossal Cave Adventure (later just 'Adventure'), and late one night,
  283. a new dungeon game called 'Rogue'.
  284.  
  285. So yes, I was exposed to Rogue before Moria was even a gleam in my
  286. eye.  In fact, Rogue was directly responsible for millions of hours of
  287. play time wasted on Moria and its descendents...
  288.  
  289. Soon after playing Rogue (and man, was I HOOKED), I got a job in a
  290. different department as a student assistant in computers.  I worked on
  291. one of the early VAX 11/780's running VMS, and no games were available
  292. for it at that time.  The engineering lab got a real geek of an
  293. administrator who thought the only purpose of a computer was WORK!
  294. Imagine...  Soooo, no more games, and no more rogue!
  295.  
  296. This was intolerable!  So I decided to write my own rogue game, Moria
  297. Beta 1.0.  I had three languages available on my VMS system.  Fortran
  298. IV, PASCAL V1.?, and BASIC.  Since most of the game was string
  299. manipulation, I wrote the first attempt at Moria in VMS BASIC, and it
  300. looked a LOT like Rogue, at least what I could remember of it.  Then I
  301. began getting ideas of how to improve it, how it should work
  302. differently, and I pretty much didn't touch it for about a year.
  303.  
  304. Around 1983, two things happened that caused Moria to be born in its
  305. recognizable form.  I was engaged to be married, and the only cure for
  306. THAT is to work so hard you can't think about it; and I was enrolled
  307. for fall to take an operating systems class in PASCAL.
  308.  
  309. So, I investigated the new version of VMS PASCAL and found out it had
  310. a new feature.  Variable length strings!  Wow...
  311.  
  312. That summer I finished Moria 1.0 in VMS PASCAL.  I learned more about
  313. data structures, optimization, and just plain programming that summer
  314. then in all of my years in school.  I soon drew a crowd of devoted
  315. Moria players...  All at OU.
  316.  
  317. I asked Jimmey Todd, a good friend of mine, to write a better
  318. character generator for the game, and so the skills and history were
  319. born.  Jimmey helped out on many of the functions in the game as well.
  320. This would have been about Moria 2.0
  321.  
  322. In the following two years, I listened a lot to my players and kept
  323. making enhancements to the game to fix problems, to challenge them,
  324. and to keep them going.  If anyone managed to win, I immediately found
  325. out how, and 'enhanced' the game to make it harder.  I once vowed it
  326. was 'unbeatable', and a week later a friend of mine beat it!  His
  327. character, 'Iggy', was placed into the game as 'The Evil Iggy', and
  328. immortalized...  And of course, I went in and plugged up the trick he
  329. used to win...
  330.  
  331. Around 1985 I started sending out source to other universities.  Just
  332. before a OU / Texas football clash, I was asked to send a copy to the
  333. Univeristy of Texas...  I couldn't resist...  I modified it so that
  334. the begger on the town level was 'An OU football fan' and they moved
  335. at maximum rate.  They also multiplied at maximum rate...  So the
  336. first step you took and woke one up, it crossed the floor increasing
  337. to hundreds of them and pounded you into oblivion...  I soon received
  338. a call and provided instructions on how to 'de-enhance' the game!
  339.  
  340. Around 1986 - 87 I released Moria 4.7, my last official release.  I
  341. was working on a Moria 5.0 when I left OU to go to work for American
  342. Airlines (and yes, I still work there).  Moria 5.0 was a complete
  343. rewrite, and contained many neat enhancements, features, you name it.
  344. It had water, streams, lakes, pools, with water monsters.  It had
  345. 'mysterious orbs' which could be carried like torches for light but
  346. also gave off magical aura's (like protection from fire, or aggrivate
  347. monster...).  It had new weapons and treasures...  I left it with the
  348. student assistants at OU to be finished, but I guess it soon died on
  349. the vine.  As far as I know, that source was lost...
  350.  
  351. I gave permission to anyone who asked to work on the game.  Several
  352. people asked if they could convert it to 'C', and I said fine as long
  353. as a complete credit history was maintained, and that it could NEVER
  354. be sold, only given.  So I guess one or more of them succeeded in
  355. their efforts to rewrite it in 'C'.
  356.  
  357. I have since received thousands of letters from all over the world
  358. from players telling about their exploits, and from administrators
  359. cursing the day I was born...  I received mail from behind the iron
  360. curtain (while it was still standing) talking about the game on VAX's
  361. (which supposedly couldn't be there due to export laws).  I used to
  362. have a map with pins for every letter I received, but I gave up on
  363. that!
  364.  
  365. I am very happy to learn my creation keeps on going...  I plan to
  366. download it and Angband and play them...  Maybe something has been
  367. added that will surprise me!  That would be nice...  I never got to
  368. play Moria and be surprised...
  369.  
  370. Robert Alan Koeneke
  371. koeneke@ionet.net
  372.  
  373.  
  374. === Previous Versions (outdated) ===
  375.  
  376.  
  377.                           VMS Moria Version 4.8
  378. Version 0.1  : 03/25/83
  379. Version 1.0  : 05/01/84
  380. Version 2.0  : 07/10/84
  381. Version 3.0  : 11/20/84
  382. Version 4.0  : 01/20/85
  383.  
  384. Modules :
  385.      V1.0  Dungeon Generator      - RAK
  386.            Character Generator    - RAK & JWT
  387.            Moria Module           - RAK
  388.            Miscellaneous          - RAK & JWT
  389.      V2.0  Town Level & Misc      - RAK
  390.      V3.0  Internal Help & Misc   - RAK
  391.      V4.0  Source Release Version - RAK
  392.  
  393. Robert Alan Koeneke               Jimmey Wayne Todd Jr.
  394. Student/University of Oklahoma    Student/University of Oklahoma
  395.  
  396.  
  397.  
  398.  
  399.  
  400.                         Umoria Version 5.2 (formerly UNIX Moria)
  401. Version 4.83 :  5/14/87
  402. Version 4.85 : 10/26/87
  403. Version 4.87 :  5/27/88
  404. Version 5.0  :  11/2/89
  405. Version 5.2  :   5/9/90
  406.  
  407. James E. Wilson, U.C. Berkeley
  408.                  wilson@ernie.Berkeley.EDU
  409.                  ...!ucbvax!ucbernie!wilson
  410.  
  411. Other contributors:
  412. D. G. Kneller         - MSDOS Moria port
  413. Christopher J. Stuart - recall, options, inventory, and running code
  414. Curtis McCauley       - Macintosh Moria port
  415. Stephen A. Jacobs     - Atari ST Moria port
  416. William Setzer        - object naming code
  417. David J. Grabiner     - numerous bug reports, and consistency checking
  418. Dan Bernstein         - UNIX hangup signal fix, many bug fixes
  419. and many others...
  420.  
  421.  
  422.  
  423.  
  424. Copyright (c) 1989 James E. Wilson, Robert A. Keoneke
  425.   This software may be copied and distributed for educational, research, and
  426.   not for profit purposes provided that this copyright and statement are
  427.   included in all such copies.
  428.  
  429. Umoria Version 5.2, patch level 1
  430.  
  431. Angband Version 2.0   Alex Cutler, Andy Astrand, Sean Marsh, Geoff Hill, 
  432.                       Charles Teague.
  433.  
  434. Angband Version 2.4   : 05/09/93
  435.  
  436. Angband Version 2.5   : 12/05/93 Charles Swiger
  437.  
  438. Angband Version 2.6   : 09/04/94 Charles Swiger
  439.  
  440. Angband Version 2.7   : 01/01/95  Ben Harrison
  441.  
  442. Angband Version 2.8   : 01/01/97  Ben Harrison
  443.  
  444.  
  445.  
  446. Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke
  447.  
  448. This software may be copied and distributed for educational, research,
  449. and not for profit purposes provided that this copyright and statement
  450. are included in all such copies.  Other copyrights may also apply.
  451.  
  452.  
  453. All changes made by Ben Harrison and Robert Ruehlmann are also available
  454. under the GNU GENERAL PUBLIC LICENSE.  Note that this doesn't influence
  455. the current distribution, since parts of the source are still only
  456. available under the old Moria/Angband license.  Until all parts of
  457. Angband are distributed under the GPL the only valid license remains
  458. the original Moria/Angband license.
  459.  
  460.  
  461. === Contributors (incomplete) ===
  462.  
  463. Peter Berger, "Prfnoff", Arcum Dagsson, Ed Cogburn, Matthias Kurzke,
  464. Ben Harrison, Steven Fuerst, Julian Lighton, Andrew Hill, Werner Baer,
  465. Tom Morton, "Cyric the Mad", Chris Kern, Tim Baker, Jurriaan Kalkman,
  466. Alexander Wilkins, Mauro Scarpa, John I'anson-Holton, "facade",
  467. Dennis van Es, Kenneth A. Strom, Wei-Hwa Huang, Nikodemus, Timo PietilE,
  468. Greg Wooledge, Keldon Jones, Shayne Steele, Dr. Andrew White, Musus Umbra
  469.  
  470.  
  471.